package main

import (
	"math"
	"fmt"
)

/*
√ 求玩具球的体积
√ 半径如果为负数，直接panic
√ 处理恐慌
*/

/*求玩具球的体积*/
func GetToyBallVolumn(radius float64) float64 {
	if radius < 0{
		panic("半径不能为负数！")
	}
	return (4 / 3.0) * math.Pi * math.Pow(radius, 3)
}

func main() {

	//在函数结束之前处理恐慌
	defer func() {
		//从恐慌中复活，找到导致恐慌的原因
		if err := recover();err!=nil{
			fmt.Println("致死的凶手是",err)
			fmt.Println("送钱送房送美女2")
		}
	}()

	//庞涓因为传递了负数半径而死于此树下
	volumn := GetToyBallVolumn(-1)
	return

	fmt.Println("送钱送房送美女")
	fmt.Println("小球的体积是",volumn)
}
